General Purpose Registers (GPRs) হলো প্রসেসরের অভ্যন্তরে ব্যবহৃত রেজিস্টার যা বিভিন্ন ধরণের ডেটা সংরক্ষণ ও প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। x86 আর্কিটেকচারের প্রসেসরে চারটি প্রধান GPR রয়েছে: EAX, EBX, ECX, এবং EDX। প্রতিটি রেজিস্টারের নিজস্ব নির্দিষ্ট কাজ আছে, তবে এগুলি সাধারণভাবে বিভিন্ন অপারেশন এবং ডেটা সংরক্ষণের জন্য ব্যবহার করা যায়।
১. EAX (Extended Accumulator Register):
- সংজ্ঞা: EAX হলো এক্সটেন্ডেড অ্যাকিউমুলেটর রেজিস্টার যা সাধারণত গণনার ফলাফলের জন্য ব্যবহৃত হয়। এটি ৩২-বিট রেজিস্টার যা ছোট আকারের অপারেশনেও ব্যবহৃত হতে পারে, যেমন ১৬-বিট (AX) এবং ৮-বিট (AH, AL) অংশ।
- ব্যবহার:
- সাধারণ গণনা এবং আরিথমেটিক অপারেশনের জন্য।
- ফাংশন রিটার্ন ভ্যালু সংরক্ষণে।
উদাহরণ:
MOV EAX, 5 ; EAX রেজিস্টারে ৫ স্টোর করা ADD EAX, 10 ; EAX রেজিস্টারের মানের সাথে ১০ যোগ করা
২. EBX (Extended Base Register):
- সংজ্ঞা: EBX হলো বেস রেজিস্টার যা সাধারণত ইন্ডেক্স বা বেস পয়েন্টার হিসেবে ব্যবহৃত হয় মেমোরি অ্যাক্সেসের সময়। এটি ৩২-বিট রেজিস্টার এবং এরও ছোট আকারে ব্যবহার করা যায় (BX, BH, BL)।
- ব্যবহার:
- মেমোরি অ্যাড্রেসিং এবং বেস অ্যাড্রেস সংরক্ষণে।
উদাহরণ:
MOV EBX, OFFSET data ; EBX রেজিস্টারে ডেটার অ্যাড্রেস সংরক্ষণ
৩. ECX (Extended Count Register):
- সংজ্ঞা: ECX হলো কাউন্ট রেজিস্টার যা লুপ এবং রিপিট অপারেশনের জন্য ব্যবহৃত হয়। এটি লুপিং অপারেশনগুলোর সংখ্যা গননা করার জন্য সাধারণত ব্যবহৃত হয়।
- ব্যবহার:
- লুপ এবং স্ট্রিং অপারেশনে কাউন্টার হিসেবে।
উদাহরণ:
MOV ECX, 10 ; ECX রেজিস্টারে ১০ স্টোর করা (লুপের কাউন্ট) LOOP_START: ; লুপের কাজ LOOP LOOP_START ; ECX রেজিস্টার ০ না হওয়া পর্যন্ত লুপ চলবে
৪. EDX (Extended Data Register):
- সংজ্ঞা: EDX হলো ডেটা রেজিস্টার যা সাধারণত ইন্টারমিডিয়েট ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। এটি গণনা ও ডিভিশন অপারেশনগুলিতে ব্যবহৃত হয়।
- ব্যবহার:
- মাল্টিপ্লিকেশন এবং ডিভিশন অপারেশনে, বিশেষত উচ্চ মানের ফলাফল সংরক্ষণে।
- ইনপুট/আউটপুট অপারেশনে ডেটা ধরে রাখতে।
উদাহরণ:
MOV EAX, 20 ; EAX রেজিস্টারে ২০ স্টোর করা MOV EDX, 5 ; EDX রেজিস্টারে ৫ স্টোর করা DIV EDX ; EAX/EDX এর ভাগফল EAX-এ এবং ভাগশেষ EDX-এ থাকবে
সংক্ষেপে GPR গুলির কাজের তুলনা:
| রেজিস্টার | মূল ব্যবহার | অতিরিক্ত তথ্য |
|---|---|---|
| EAX | গণনা এবং ফাংশনের রিটার্ন ভ্যালু সংরক্ষণে | অ্যাকিউমুলেটর হিসেবে কাজ করে |
| EBX | বেস পয়েন্টার বা মেমোরি অ্যাড্রেস সংরক্ষণে | বেস রেজিস্টার হিসেবে মেমোরি অ্যাড্রেসিংয়ে ব্যবহৃত |
| ECX | লুপ এবং কাউন্টিং অপারেশনে | কাউন্টার রেজিস্টার হিসেবে কাজ করে |
| EDX | ডেটা হোল্ডিং এবং ডিভিশন অপারেশনে | মাল্টিপ্লিকেশন ও ডিভিশনে ব্যবহৃত |
উপসংহার:
General Purpose Registers (EAX, EBX, ECX, EDX) x86 প্রসেসরের কার্যক্ষমতা বৃদ্ধি এবং বিভিন্ন ধরনের ডেটা সংরক্ষণ ও প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এগুলি প্রোগ্রামিংয়ের ক্ষেত্রে মৌলিক ও অত্যন্ত গুরুত্বপূর্ণ, কারণ এদের মাধ্যমে প্রসেসর দ্রুত কাজ সম্পাদন করতে পারে এবং কোড অপটিমাইজ করা যায়।
Read more